home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #5 / Amiga Plus CD - 1996 - No. 5.iso / pd / grafik / adpro_scripts / operators / scale_to_screen_ < prev   
Text File  |  1996-04-21  |  9KB  |  531 lines

  1. /* $VER: Scale_to_Screen_ 2.02 (21.04.96)© Felix C. Coronado
  2. */
  3. ADDRESS "ADPro"
  4. OPTIONS RESULTS
  5. NL='0A'x
  6. IMAGE_TYPE
  7. IF ADPro_Result='BITPLANE' THEN DO
  8.  ADPRO_TO_FRONT
  9.  OKAY1 "There is no 8 or 24 bit"||NL||,
  10.        "data to scale."||NL||,
  11.        "Try loading"||NL||,
  12.        "data from disk."
  13.  EXIT
  14. END
  15. VERSION
  16. IF WORD(ADPro_Result,1)='ADPro' THEN DO
  17.  IF LEFT(WORD(ADPro_Result,2),3)>=2.5 THEN Vrsn='NEW'
  18.                                       ELSE Vrsn='OLD'
  19. END
  20. IF WORD(ADPro_Result,1)='MorphPlus' THEN DO
  21.  IF LEFT(WORD(ADPro_Result,2),3)>=1.3 THEN Vrsn='NEW'
  22.                                       ELSE Vrsn='OLD'
  23. END
  24. XSIZE
  25. StartX=ADPro_Result
  26. YSIZE
  27. StartY=ADPro_Result
  28. IF Vrsn='NEW' THEN DO
  29.  SET_RENDER_MODE
  30.  ScreenX=WORD(ADPro_Result,3)
  31.  ScreenY=WORD(ADPro_Result,4)
  32. END
  33. IF Vrsn='OLD' THEN DO
  34.  SCREEN_TYPE
  35.  Screen=ADPro_Result
  36.  IF Screen>=256 THEN Screen=Screen-256
  37.  /*NTSC LowRes NonL StdSz*/
  38.  IF Screen=0 THEN DO
  39.   ScreenX=320
  40.   ScreenY=200
  41.  END
  42.  /*NTSC LowRes NonL HOscan*/
  43.  IF Screen=8 THEN DO
  44.   ScreenX=368
  45.   ScreenY=200
  46.  END
  47.  /*NTSC LowRes NonL VOscan*/
  48.  IF Screen=16 THEN DO
  49.   ScreenX=320
  50.   ScreenY=240
  51.  END
  52.  /*NTSC LowRes NonL Oscan*/
  53.  IF Screen=24 THEN DO
  54.   ScreenX=368
  55.   ScreenY=240
  56.  END
  57.  /*NTSC LowRes Lace StdSz*/
  58.  IF Screen=2 THEN DO
  59.   ScreenX=320
  60.   ScreenY=400
  61.  END
  62.  /*NTSC LowRes Lace HOscan*/
  63.  IF Screen=10 THEN DO
  64.   ScreenX=368
  65.   ScreenY=400
  66.  END
  67.  /*NTSC LowRes Lace VOscan*/
  68.  IF Screen=18 THEN DO
  69.   ScreenX=320
  70.   ScreenY=480
  71.  END
  72.  /*NTSC LowRes Lace Oscan*/
  73.  IF Screen=26 THEN DO
  74.   ScreenX=368
  75.   ScreenY=480
  76.  END
  77.  /*NTSC HiRes NonL StdSz*/
  78.  IF Screen=1 THEN DO
  79.   ScreenX=640
  80.   ScreenY=200
  81.  END
  82.  /*NTSC HiRes NonL HOscan*/
  83.  IF Screen=9 THEN DO
  84.   ScreenX=736
  85.   ScreenY=200
  86.  END
  87.  /*NTSC HiRes NonL VOscan*/
  88.  IF Screen=17 THEN DO
  89.   ScreenX=640
  90.   ScreenY=240
  91.  END
  92.  /*NTSC HiRes NonL Oscan*/
  93.  IF Screen=25 THEN DO
  94.   ScreenX=736
  95.   ScreenY=240
  96.  END
  97.  /*NTSC HiRes Lace StdSz*/
  98.  IF Screen=3 THEN DO
  99.   ScreenX=640
  100.   ScreenY=400
  101.  END
  102.  /*NTSC HiRes Lace HOscan*/
  103.  IF Screen=11 THEN DO
  104.   ScreenX=736
  105.   ScreenY=400
  106.  END
  107.  /*NTSC HiRes Lace VOscan*/
  108.  IF Screen=19 THEN DO
  109.   ScreenX=640
  110.   ScreenY=480
  111.  END
  112.  /*NTSC HiRes Lace Oscan*/
  113.  IF Screen=27 THEN DO
  114.   ScreenX=736
  115.   ScreenY=480
  116.  END
  117.  /*NTSC S-HiRes NonL StdSz*/
  118.  IF Screen=64 THEN DO
  119.   ScreenX=1280
  120.   ScreenY=200
  121.  END
  122.  /*NTSC S-HiRes NonL HOscan*/
  123.  IF Screen=72 THEN DO
  124.   ScreenX=1472
  125.   ScreenY=200
  126.  END
  127.  /*NTSC S-HiRes NonL VOscan*/
  128.  IF Screen=80 THEN DO
  129.   ScreenX=1280
  130.   ScreenY=240
  131.  END
  132.  /*NTSC S-HiRes NonL Oscan*/
  133.  IF Screen=88 THEN DO
  134.   ScreenX=1472
  135.   ScreenY=240
  136.  END
  137.  /*NTSC S-HiRes Lace StdSz*/
  138.  IF Screen=66 THEN DO
  139.   ScreenX=1280
  140.   ScreenY=400
  141.  END
  142.  /*NTSC S-HiRes Lace HOscan*/
  143.  IF Screen=74 THEN DO
  144.   ScreenX=1472
  145.   ScreenY=400
  146.  END
  147.  /*NTSC S-HiRes Lace VOscan*/
  148.  IF Screen=82 THEN DO
  149.   ScreenX=1280
  150.   ScreenY=480
  151.  END
  152.  /*NTSC S-HiRes Lace Oscan*/
  153.  IF Screen=90 THEN DO
  154.   ScreenX=1472
  155.   ScreenY=480
  156.  END
  157.  /*PAL LowRes NonL StdSz*/
  158.  IF Screen=4 THEN DO
  159.   ScreenX=320
  160.   ScreenY=256
  161.  END
  162.  /*PAL LowRes NonL HOscan*/
  163.  IF Screen=12 THEN DO
  164.   ScreenX=368
  165.   ScreenY=256
  166.  END
  167.  /*PAL LowRes NonL VOscan*/
  168.  IF Screen=20 THEN DO
  169.   ScreenX=320
  170.   ScreenY=296
  171.  END
  172.  /*PAL LowRes NonL Oscan*/
  173.  IF Screen=28 THEN DO
  174.   ScreenX=368
  175.   ScreenY=296
  176.  END
  177.  /*PAL LowRes Lace StdSz*/
  178.  IF Screen=6 THEN DO
  179.   ScreenX=320
  180.   ScreenY=512
  181.  END
  182.  /*PAL LowRes Lace HOscan*/
  183.  IF Screen=14 THEN DO
  184.   ScreenX=368
  185.   ScreenY=512
  186.  END
  187.  /*PAL LowRes Lace VOscan*/
  188.  IF Screen=22 THEN DO
  189.   ScreenX=320
  190.   ScreenY=592
  191.  END
  192.  /*PAL LowRes Lace Oscan*/
  193.  IF Screen=30 THEN DO
  194.   ScreenX=368
  195.   ScreenY=592
  196.  END
  197.  /*PAL HiRes NonL StdSz*/
  198.  IF Screen=5 THEN DO
  199.   ScreenX=640
  200.   ScreenY=256
  201.  END
  202.  /*PAL HiRes NonL HOscan*/
  203.  IF Screen=13 THEN DO
  204.   ScreenX=736
  205.   ScreenY=256
  206.  END
  207.  /*PAL HiRes NonL VOscan*/
  208.  IF Screen=21 THEN DO
  209.   ScreenX=640
  210.   ScreenY=296
  211.  END
  212.  /*PAL HiRes NonL Oscan*/
  213.  IF Screen=29 THEN DO
  214.   ScreenX=736
  215.   ScreenY=296
  216.  END
  217.  /*PAL HiRes Lace StdSz*/
  218.  IF Screen=7 THEN DO
  219.   ScreenX=640
  220.   ScreenY=512
  221.  END
  222.  /*PAL HiRes Lace HOscan*/
  223.  IF Screen=15 THEN DO
  224.   ScreenX=736
  225.   ScreenY=512
  226.  END
  227.  /*PAL HiRes Lace VOscan*/
  228.  IF Screen=23 THEN DO
  229.   ScreenX=640
  230.   ScreenY=592
  231.  END
  232.  /*PAL HiRes Lace Oscan*/
  233.  IF Screen=31 THEN DO
  234.   ScreenX=736
  235.   ScreenY=592
  236.  END
  237.  /*PAL S-HiRes NonL StdSz*/
  238.  IF Screen=68 THEN DO
  239.   ScreenX=1280
  240.   ScreenY=256
  241.  END
  242.  /*PAL S-HiRes NonL HOscan*/
  243.  IF Screen=76 THEN DO
  244.   ScreenX=1472
  245.   ScreenY=256
  246.  END
  247.  /*PAL S-HiRes NonL VOscan*/
  248.  IF Screen=84 THEN DO
  249.   ScreenX=1280
  250.   ScreenY=296
  251.  END
  252.  /*PAL S-HiRes NonL Oscan*/
  253.  IF Screen=92 THEN DO
  254.   ScreenX=1472
  255.   ScreenY=296
  256.  END
  257.  /*PAL S-HiRes Lace StdSz*/
  258.  IF Screen=70 THEN DO
  259.   ScreenX=1280
  260.   ScreenY=512
  261.  END
  262.  /*PAL S-HiRes Lace HOscan*/
  263.  IF Screen=78 THEN DO
  264.   ScreenX=1472
  265.   ScreenY=512
  266.  END
  267.  /*PAL S-HiRes Lace VOscan*/
  268.  IF Screen=86 THEN DO
  269.   ScreenX=1280
  270.   ScreenY=592
  271.  END
  272.  /*PAL S-HiRes Lace Oscan*/
  273.  IF Screen=94 THEN DO
  274.   ScreenX=1472
  275.   ScreenY=592
  276.  END
  277.  /*VGA LowRes NonL StdSz*/
  278.  IF Screen=32 THEN DO
  279.   ScreenX=320
  280.   ScreenY=480
  281.  END
  282.  /*VGA LowRes NonL HOscan*/
  283.  IF Screen=40 THEN DO
  284.   ScreenX=368
  285.   ScreenY=480
  286.  END
  287.  /*VGA LowRes NonL VOscan*/
  288.  IF Screen=48 THEN DO
  289.   ScreenX=320
  290.   ScreenY=480
  291.  END
  292.  /*VGA LowRes NonL Oscan*/
  293.  IF Screen=56 THEN DO
  294.   ScreenX=368
  295.   ScreenY=480
  296.  END
  297.  /*VGA LowRes Lace StdSz*/
  298.  IF Screen=34 THEN DO
  299.   ScreenX=320
  300.   ScreenY=960
  301.  END
  302.  /*VGA LowRes Lace HOscan*/
  303.  IF Screen=42 THEN DO
  304.   ScreenX=368
  305.   ScreenY=960
  306.  END
  307.  /*VGA LowRes Lace VOscan*/
  308.  IF Screen=50 THEN DO
  309.   ScreenX=320
  310.   ScreenY=960
  311.  END
  312.  /*VGA LowRes Lace Oscan*/
  313.  IF Screen=58 THEN DO
  314.   ScreenX=368
  315.   ScreenY=960
  316.  END
  317.  /*VGA HiRes NonL StdSz*/
  318.  IF Screen=33 THEN DO
  319.   ScreenX=640
  320.   ScreenY=480
  321.  END
  322.  /*VGA HiRes NonL HOscan*/
  323.  IF Screen=41 THEN DO
  324.   ScreenX=736
  325.   ScreenY=480
  326.  END
  327.  /*VGA HiRes NonL VOscan*/
  328.  IF Screen=49 THEN DO
  329.   ScreenX=640
  330.   ScreenY=480
  331.  END
  332.  /*VGA HiRes NonL Oscan*/
  333.  IF Screen=57 THEN DO
  334.   ScreenX=736
  335.   ScreenY=480
  336.  END
  337.  /*VGA HiRes Lace StdSz*/
  338.  IF Screen=35 THEN DO
  339.   ScreenX=640
  340.   ScreenY=960
  341.  END
  342.  /*VGA HiRes Lace HOscan*/
  343.  IF Screen=43 THEN DO
  344.   ScreenX=736
  345.   ScreenY=960
  346.  END
  347.  /*VGA HiRes Lace VOscan*/
  348.  IF Screen=51 THEN DO
  349.   ScreenX=640
  350.   ScreenY=960
  351.  END
  352.  /*VGA HiRes Lace Oscan*/
  353.  IF Screen=59 THEN DO
  354.   ScreenX=736
  355.   ScreenY=960
  356.  END
  357.  /*VGA S-HiRes NonL StdSz*/
  358.  IF Screen=96 THEN DO
  359.   ScreenX=1280
  360.   ScreenY=480
  361.  END
  362.  /*VGA S-HiRes NonL HOscan*/
  363.  IF Screen=104 THEN DO
  364.   ScreenX=1472
  365.   ScreenY=480
  366.  END
  367.  /*VGA S-HiRes NonL VOscan*/
  368.  IF Screen=112 THEN DO
  369.   ScreenX=1280
  370.   ScreenY=480
  371.  END
  372.  /*VGA S-HiRes NonL Oscan*/
  373.  IF Screen=120 THEN DO
  374.   ScreenX=1472
  375.   ScreenY=480
  376.  END
  377.  /*VGA S-HiRes Lace StdSz*/
  378.  IF Screen=98 THEN DO
  379.   ScreenX=1280
  380.   ScreenY=960
  381.  END
  382.  /*VGA S-HiRes Lace HOscan*/
  383.  IF Screen=106 THEN DO
  384.   ScreenX=1472
  385.   ScreenY=960
  386.  END
  387.  /*VGA S-HiRes Lace VOscan*/
  388.  IF Screen=114 THEN DO
  389.   ScreenX=1280
  390.   ScreenY=960
  391.  END
  392.  /*VGA S-HiRes Lace Oscan*/
  393.  IF Screen=122 THEN DO
  394.   ScreenX=1472
  395.   ScreenY=960
  396.  END
  397.  /*SUP72 LowRes NonL StdSz*/
  398.  IF Screen=128 THEN DO
  399.   ScreenX=208
  400.   ScreenY=300
  401.  END
  402.  /*SUP72 LowRes NonL HOscan*/
  403.  IF Screen=136 THEN DO
  404.   ScreenX=256
  405.   ScreenY=300
  406.  END
  407.  /*SUP72 LowRes NonL VOscan*/
  408.  IF Screen=144 THEN DO
  409.   ScreenX=208
  410.   ScreenY=340
  411.  END
  412.  /*SUP72 LowRes NonL Oscan*/
  413.  IF Screen=152 THEN DO
  414.   ScreenX=256
  415.   ScreenY=340
  416.  END
  417.  /*SUP72 LowRes Lace StdSz*/
  418.  IF Screen=130 THEN DO
  419.   ScreenX=208
  420.   ScreenY=600
  421.  END
  422.  /*SUP72 LowRes Lace HOscan*/
  423.  IF Screen=138 THEN DO
  424.   ScreenX=256
  425.   ScreenY=600
  426.  END
  427.  /*SUP72 LowRes Lace VOscan*/
  428.  IF Screen=146 THEN DO
  429.   ScreenX=208
  430.   ScreenY=680
  431.  END
  432.  /*SUP72 LowRes Lace Oscan*/
  433.  IF Screen=154 THEN DO
  434.   ScreenX=256
  435.   ScreenY=680
  436.  END
  437.  /*SUP72 HiRes NonL StdSz*/
  438.  IF Screen=129 THEN DO
  439.   ScreenX=400
  440.   ScreenY=300
  441.  END
  442.  /*SUP72 HiRes NonL HOscan*/
  443.  IF Screen=137 THEN DO
  444.   ScreenX=496
  445.   ScreenY=300
  446.  END
  447.  /*SUP72 HiRes NonL VOscan*/
  448.  IF Screen=145 THEN DO
  449.   ScreenX=400
  450.   ScreenY=340
  451.  END
  452.  /*SUP72 HiRes NonL Oscan*/
  453.  IF Screen=153 THEN DO
  454.   ScreenX=496
  455.   ScreenY=340
  456.  END
  457.  /*SUP72 HiRes Lace StdSz*/
  458.  IF Screen=131 THEN DO
  459.   ScreenX=400
  460.   ScreenY=600
  461.  END
  462.  /*SUP72 HiRes Lace HOscan*/
  463.  IF Screen=139 THEN DO
  464.   ScreenX=496
  465.   ScreenY=600
  466.  END
  467.  /*SUP72 HiRes Lace VOscan*/
  468.  IF Screen=147 THEN DO
  469.   ScreenX=400
  470.   ScreenY=680
  471.  END
  472.  /*SUP72 HiRes Lace Oscan*/
  473.  IF Screen=155 THEN DO
  474.   ScreenX=496
  475.   ScreenY=680
  476.  END
  477.  /*SUP72 S-HiRes NonL StdSz*/
  478.  IF Screen=192 THEN DO
  479.   ScreenX=800
  480.   ScreenY=300
  481.  END
  482.  /*SUP72 S-HiRes NonL HOscan*/
  483.  IF Screen=200 THEN DO
  484.   ScreenX=992
  485.   ScreenY=300
  486.  END
  487.  /*SUP72 S-HiRes NonL VOscan*/
  488.  IF Screen=208 THEN DO
  489.   ScreenX=800
  490.   ScreenY=340
  491.  END
  492.  /*SUP72 S-HiRes NonL Oscan*/
  493.  IF Screen=216 THEN DO
  494.   ScreenX=992
  495.   ScreenY=340
  496.  END
  497.  /*SUP72 S-HiRes Lace StdSz*/
  498.  IF Screen=194 THEN DO
  499.   ScreenX=800
  500.   ScreenY=600
  501.  END
  502.  /*SUP72 S-HiRes Lace HOscan*/
  503.  IF Screen=202 THEN DO
  504.   ScreenX=992
  505.   ScreenY=600
  506.  END
  507.  /*SUP72 S-HiRes Lace VOscan*/
  508.  IF Screen=210 THEN DO
  509.   ScreenX=800
  510.   ScreenY=680
  511.  END
  512.  /*SUP72 S-HiRes Lace Oscan*/
  513.  IF Screen=218 THEN DO
  514.   ScreenX=992
  515.   ScreenY=680
  516.  END
  517. END
  518. EndX=ScreenX
  519. EndY=ScreenX/StartX*StartY
  520. IF EndY<1 THEN EndY=1
  521. IF EndY>ScreenY THEN DO
  522.  EndX=ScreenY/StartY*StartX
  523.  EndY=ScreenY
  524.  IF EndX<1 THEN EndX=1
  525. END
  526. ABS_SCALE TRUNC(EndX+.5) TRUNC(EndY+.5)
  527. IF rc=10 THEN DO
  528.  ADPRO_TO_FRONT
  529.  OKAY1 'Scale failed'
  530. END
  531.